//?安装后 导入 wechat-http 调接口 发送请求用
import http from 'wechat-http'

/* 配置基地址 */
wx.baseURL = 'https://live-api.itheima.net'
http.baseURL = wx.baseURL

//添加请求拦截器
http.intercept.request = (config) => {
  // 在发送请求之前做些什么
  //全局添加token
  const token = getApp().state.token
  if (token) {
    config.header = {}
    config.header.Authorization = token
  }
  return config
}

//添加响应拦截器
// http.intercept.response = (res) => {
//   console.log('响应：', res)
// 1. 统一错误提示
// if (res.data.code !== 1e4) {
//   // 避免被页面中其他消息提示覆盖/中断
//   setTimeout(() => {
//     wx.utils.message(res.data.message)
//   }, 1000);
//   // 处理 401token 失效
//   if (res.statusCode === 401) {
//     // 获取当前访问页面的地址
//     const history = getCurrentPages();
//     const currPath = history[history.length - 1].route
//     console.log('当前访问页面地址：', currPath)
//     wx.redirectTo({
//       url: `/pages/login/index?redirectUrl=/${currPath}`
//     })
//   }

//   return Promise.reject(res.data)
// }
// 2. 简化返回的数据
//   return res.data.data
// }

http.intercept.response = (res) => {
  console.log('响应拦截器', res);
  //判断响应状态码 不等于 10000 则抛出错误
  if (res.data.code !== 10000) {
    if (res.statusCode === 401) {
      // setInterval(() => {
      //   wx.utils.message('请先登录')
      // }, 1000);
      const history = getCurrentPages()
      const currPath = history[history.length - 1].route
      wx.redirectTo({
        url: `/pages/login/index?redirectUrl=/${currPath}`,
      })
    }
    //?提示错误信息
    wx.utils.message(res.data.message)
    //?抛出错误
    return Promise.reject(res.data)
  }

  // 对响应数据做点什么
  return res.data.data
}

//?挂载到全局
wx.http = http




